Awesome Pyramid
    
      
      
    
    
      A curated list of awesome Pyramid apps, projects and resources. Inspired
      by and based on
      awesome-python.
    
    
    Admin interface
    
      Packages that extend the Admin interface, adding or improving
        features.
    
    
      - 
        pyramid_formalchemy
        - provides a CRUD interface for pyramid based on FormAlchemy.
      
 
      - 
        pyramid_sacrud -
        Pyramid CRUD interface. Provides an administration web interface for
        Pyramid. Unlike classic CRUD, pyramid_sacrud allows overrides and
        flexibility to customize your interface, similar to django.contrib.admin
        but uses a different backend to provide resources.
        New Architecture
        built on the resources and mechanism traversal, allows to use it in
        various cases.
        
      
 
      - 
        Websauna - a full stack
        application framework for Pyramid
      
 
    
    Asset Management
    Packages that help manage the static assets of a project.
    
    Async
    
      - 
        aiopyramid - Run
        pyramid using asyncio.
      
 
      - 
        gevent-socketio
        - gevent-socketio is a Python implementation of the Socket.IO protocol,
        developed originally for Node.js by LearnBoost and then ported to other
        languages.
      
 
      - 
        Stargate - Stargate
        is a package for adding WebSockets support to pyramid applications using
        the excellent eventlet library for long running connections.
      
 
      - 
        channelstream
        - websocket communication server (gevent).
      
 
    
    Authentication
    
      Packages that improve or extend the authentication methods of
        Pyramid.
    
    
      - 
        pyramid_ldap - an
        LDAP authentication policy for Pyramid.
      
 
      - 
        pyramid_ldap3 -
        Provides LDAP authentication services for your Pyramid application based
        on the ldap3 package.
      
 
      - 
        pyramid_who -
        Authentication policy for pyramid using repoze.who 2.0 API.
      
 
      - 
        velruse - Simplifying
        third-party authentication for web applications. it supports most of
        auth
        providers.
      
 
      - 
        pyramid_simpleauth
        - session based authentication and role based security for Pyramid
        application
      
 
      - 
        Python Social Auth
        - Social authentication/registration mechanism with support for a large
        number of
        providers.
      
 
      - 
        Authomatic -
        Simple yet powerful authorization / authentication client library for
        Python web applications.
      
 
      - 
        apex - Toolkit for Pyramid, a
        Pylons Project, to add Authentication and Authorization using Velruse
        (OAuth) and/or a local database, CSRF, ReCaptcha, Sessions, Flash
        messages and I18N.
      
 
      - 
        pyramid_authsanity
        - That will make it simpler to have a secure authentication policy with
        an easy to use backend.
      
 
      - 
        pyramid_jwt - This
        package implements an authentication policy for Pyramid that using
        JSON Web Tokens. This standard (RFC 7519) is often used to secure backens APIs. The excellent
        PyJWT library is
        used for the JWT encoding / decoding logic.
      
 
      - 
        pyramid_ipauth
        - Pyramid authentication policy based on remote ip address.
      
 
    
    Authorization
    
      Packages related to authorization infrastructure and permissions.
    
    
      - 
        ziggurat_foundations
        - Framework agnostic set of sqlalchemy classes that make building
        applications that require permissions an easy task.
      
 
      - 
        pyramid_multiauth
        - An authentication policy for Pyramid that proxies to a stack of other
        authentication policies.
      
 
      - 
        pyramid_authstack
        - Use multiple authentication policies with Pyramid.
      
 
      - 
        horus - User registration
        and login system for the Pyramid Web Framework.
      
 
      - 
        pyramid_yosai
        - Pyramid integration with security Framework for Python applications
        featuring Authorization (rbac permissions and roles), Authentication
        (2fa totp), Session Management and an extensive Audit Trail
        https://yosaiproject.github.io/yosai/
      
 
    
    Caching & Session
    Packages that help with caching and session.
    
    Debugging
    Packages that help hunt down bugs.
    
    Email
    Packages that help manage email sending.
    
    
    
      Packages that extend the functionality of forms or add new types of
        forms.
    
    
      - 
        deform - is a Python HTML
        form generation library.
      
 
      - 
        colander - A
        serialization/deserialization/validation library for strings, mappings
        and lists.
      
 
      - 
        WTForms - is a flexible
        forms validation and rendering library for python web development.
      
 
      - 
        ColanderAlchemy
        - helps you to auto-generate Colander schemas that are based on
        SQLAlchemy mapped classes.
      
 
      - 
        marshmallow
        - A lightweight library for converting complex objects to and from
        simple Python datatypes (i.e. (de)serialization and validation).
      
 
    
    
    
      - 
        pyramid_elfinder
        - This is conector for elfinder file manager, written for pyramid
        framework.
      
 
      - 
        pyramid_storage
        - This is a package for handling file uploads in your Pyramid framework
        application.
      
 
    
    RESTful API
    Packages for developing RESTful APIs.
    
      - 
        cornice - provides
        helpers to build & document REST-ish Web Services with Pyramid, with
        decent default behaviors. It takes care of following the HTTP
        specification in an automated way where possible.
      
 
      - 
        rest_toolkit - is
        a Python package which provides a very convenient way to build REST
        servers. It is build on top of Pyramid, but you do not need to know much
        about Pyramid to use rest_toolkit.
      
 
      - 
        pyramid_royal -
        Royal is a pyramid extension which eases writing RESTful web
        applications.
      
 
      - 
        cliquet -
        Cliquet is a toolkit to ease the implementation of HTTP microservices,
        such as data-driven REST APIs.
      
 
      - 
        webargs - A friendly
        library for parsing HTTP request arguments, with built-in support for
        popular web frameworks.
      
 
      - 
        ramses - Generate a
        RESTful API using RAML. It uses Nefertari which provides
        ElasticSearch-powered views.
      
 
      - 
        nefertari -
        Nefertari is a REST API framework sitting on top of Pyramid and
        ElasticSearch.
      
 
      - 
        pyramid_swagger
        - Convenient tools for using Swagger to define and validate your
        interfaces in a Pyramid webapp. (Swagger 2.0 document)
      
 
      - 
        pyramid-openapi3
        - Validate Pyramid views against an OpenAPI 3.0 document. Similar to
        pyramid_swagger but for OpenAPI 3.0.
      
 
      - 
        pyramid_jsonapi
        - Automatically create a
        JSON API standard API from a database
        using the sqlAlchemy ORM and pyramid framework.
      
 
      - 
        pyramid_apispec -
        Create an OpenAPI specification file using apispec and Marshmallow
        schemas.
      
 
    
    Search
    Packages that provide search capabilities to projects.
    
      - 
        hypatia - A Python
        indexing and searching system.
      
 
    
    Security
    Packages that improve the security of a project.
    Services
    
    Settings
    Packages that help manage the configurability of projects.
    
      - 
        pyramid_zcml - Zope
        Configuration Markup Language configuration support for Pyramid.
      
 
      - 
        pyramid_services
        - defines a pattern and helper methods for accessing a pluggable service
        layer from within your Pyramid apps.
      
 
      - 
        hupper - A process
        monitor/reloader for developers that can watch files for changes and
        restart the process.
      
 
    
    Storage
    
      Packages that extend the functionality of the existing storage backend
        or provide new storage backends.
    
    
      - 
        pyramid_tm -
        Centralized transaction management for Pyramid applications (without
        middleware).
      
 
      - 
        zope.sqlalchemy
        - Integration of SQLAlchemy with transaction management.
        
      
 
      - 
        pyramid_sqlalchemy
        - provides some basic glue to facilitate using SQLAlchemy with Pyramid.
      
 
      - 
        pyramid_zodbconn
        - ZODB Database connection management for Pyramid.
      
 
      - 
        pyramid_mongoengine
        - pyramid-mongoengine package based on flask-mongoengine
      
 
      - 
        pyramid_mongodb
        - Basic Pyramid Scaffold to easily use MongoDB for persistence with the
        Pyramid Web framework
      
 
      - 
        pyramid-excel
        - pyramid-excel is based on
        pyexcel and makes it
        easy to consume/produce information stored in excel files over HTTP
        protocol as well as on file system. This library can turn the excel data
        into a list of lists, a list of records(dictionaries), dictionaries of
        lists. And vice versa. Hence it lets you focus on data in Pyramid based
        web development, instead of file formats.
      
 
    
    Task Queue
    
      Packages that make working with task/background queues easier.
    
    
      - 
        pyramid_celery -
        Pyramid configuration with celery integration. Allows you to use pyramid
        .ini files to configure celery and have your pyramid configuration
        inside celery tasks.
      
 
      - 
        pyramid_rq - Support
        using the rq queueing system with pyramid. The easiest way to monitor
        and use RQ in your Pyramid projects.
      
 
    
    Templates
    
    Testing
    Packages that help test code or generate test data.
    
      - 
        webtest - Wraps any WSGI
        application and makes it easy to send test requests to that application,
        without starting up an HTTP server.
      
 
    
    Translations
    Packages help with the task of translating projects.
    
      - 
        lingua - Lingua is a
        package with tools to extract translatable texts from your code, and to
        check existing translations. It replaces the use of the xgettext command
        from gettext, or pybabel from Babel.
      
 
      - 
        pyramid_i18n_helper
        - helper to create new smgid and translate msgid to local langs .
      
 
    
    Web frontend integration
    
      - 
        PyramidVue -
        Pyramid and VueJs (JavaScript) template with Hot-Module-Replacement
        starter template.
      
 
    
    Workflows
    
      Packages that do process, procedure and/or business tasks
        management.
    
    Other
    
      - 
        pyramid_layout -
        Pyramid add-on for managing UI layouts.
      
 
      - 
        pyramid_skins -
        This package provides a simple framework to integrate code with
        templates and resources.
      
 
      - 
        waitress - Waitress is
        meant to be a production-quality pure-Python WSGI server with very
        acceptable performance. It has no dependencies except ones which live in
        the Python standard library.
      
 
      - 
        pyramid_handlers
        - analogue of Pylons-style “controllers” for Pyramid.
      
 
      - 
        pyramid_rpc - RPC
        service add-on for Pyramid, supports XML-RPC in a more extensible manner
        than pyramid_xmlrpc with support for JSON-RPC and AMF.
      
 
      - 
        pyramid_autodoc
        - Sphinx extension for documenting your Pyramid APIs.
      
 
      - 
        pyramid_pages -
        Provides a collections of tree pages to your Pyramid application. This
        is very similar to django.contrib.flatpages but with a tree structure
        and traversal algorithm in URL dispatch.
      
 
      - 
        paginate - Python
        pagination module.
      
 
      - 
        pyramid_tablib -
        tablib renderer (xlsx, xls, csv) for pyramid
      
 
      - 
        tomb_routes - Simple
        utility library around pyramid routing
      
 
      - 
        pyramid_extdirect
        - This pyramid plugin provides a router for the ExtDirect Sencha API
        included in ExtJS. ExtDirect allows to run server-side callbacks
        directly through JavaScript without the extra AJAX boilerplate.
      
 
      - 
        pyramid_retry -
        pyramid_retry is an execution policy for Pyramid that wraps requests and
        can retry them a configurable number of times under certain “retryable”
        error conditions before indicating a failure to the client.
      
 
    
    Projects
    Outstanding Pyramid projects.
    Framework
    
      - 
        Ringo - Ringo is a Python
        based high level web application framework build on top of Pyramid. The
        framework can be used to build form based management or administration
        software.
      
 
      - 
        cone.app - A
        comprehensive web application stub on top of Pyramid.
      
 
    
    CMS
    
      - 
        nive_cms - Nive is
        professional out the box content management system for mobile and
        desktop websites based on python and the webframework pyramid. Please
        refer to the website cms.nive.co for detailed information.
      
 
      - 
        substanced - An
        application server built upon the Pyramid web framework. It provides a
        user interface for managing content as well as libraries and utilities
        which make it easy to create applications.
      
 
      - 
        Kotti - A user-friendly,
        light-weight and extensible web content management system. Based on
        Pyramid and SQLAlchemy.
      
 
      - 
        KARL - A
        moderately-sized application (roughly 80K lines of Python code) built on
        top of Pyramid. It is an open source web system for collaboration,
        organizational intranets, and knowledge management. It provides
        facilities for wikis, calendars, manuals, searching, tagging,
        commenting, and file uploads. See the KARL site for download and
        installation details.
      
 
    
    Cookiecutters
    
    e-Commerce
    Other
    
      - 
        cluegun - A simple
        pastebin application based on Rocky Burt’s ClueBin. It demonstrates form
        processing, security, and the use of ZODB within a Pyramid application.
      
 
      - 
        shootout - An example
        “idea competition” application by Carlos de la Guardia and Lukasz
        Fidosz. It demonstrates URL dispatch, simple authentication, integration
        with SQLAlchemy and pyramid_simpleform.
      
 
      - 
        virginia - A very
        simple dynamic file rendering application. It is willing to render
        structured text documents, HTML documents, and images from a filesystem
        directory. It’s also a good example of traversal. An earlier version of
        this application runs the repoze.org website.
      
 
      - 
        Akhet
        - A Pyramid library and demo application with a Pylons-like feel. Its
        most known for its former application scaffold, which helped users
        transition from Pylons and those preferring a more Pylons-like API. The
        scaffold has been retired but the demo plays a similar role.
      
 
      - 
        Khufu Project - Khufu is an
        application scaffolding for Pyramid that provides an environment to work
        with Jinja2 and SQLAlchemy.
      
 
      - 
        Ptah - Ptah is a fast,
        fun, open source high-level Python web development environment.
      
 
      - 
        warehouse - Warehouse is
        a next generation Python Package Repository designed to replace the
        legacy code base that currently powers PyPI.
      
 
      - 
        travelcrm - TravelCRM
        is effective free and open source application for the automation of
        customer relationships for travel agencies at all levels, from small to
        large networks.
      
 
      - 
        RhodeCode - enterprise source code
        management platform. It applies unified user control, permissions, code
        reviews, and tool integration across Mercurial, Git, and Subversion
        repositories. Large and growing software teams all over the world use
        RhodeCode to collaborate in a secure, behind-the-firewall environment.
      
 
    
    Project Management
    
      - 
        AppEnlight - Performance,
        exception, and uptime monitoring for the Web
      
 
    
    Resources
    Where to discover new Pyramid apps and projects.
    Books
    
      - 
        Python Web Frameworks
        - Dive into details on the top six Python frameworks—Django, Flask,
        Tornado, Bottle, Pyramid, and CherryPy.
      
 
    
    Websites
    
      - 
        Try Pyramid - The Start Small,
        Finish Big, Stay Finished Framework. Official website.
      
 
    
    Conferences
    
    Videos
    
      - 
        List of videos from the official site
      
 
      - 
        Online Video Courses at Talk Python Training
      
 
      - 
        
          Web Applications with Python and the Pyramid Framework
          - In this Web Applications with Python and the Pyramid Framework
          training course, expert author Paul Everitt will teach you about the
          features needed for Python web development, as well as Pyramid’s
          unique features. This course is designed for users that already have a
          basic knowledge of Python.
        
        
          You will start by learning about single file web apps, templating, and
          multiple routes and views. From there, Paul will teach you about MyApp
          Python package, views and routes, and templating and static assets.
          This video tutorial also covers forms, databases, and sessions,
          authentication and authorization, and JSON. Finally, you will learn
          about extensibility, including custom configuration settings,
          extending and overriding, and custom view predicates.
        
        
          Once you have completed this computer based training course, you will
          have gained a basic understanding of the features needed for Python
          web development and the features unique to Pyramid.
        
       
    
    Who uses it?
    
    Contributing
    
      Just fork and send a pull request with your awesome Pyramid apps, projects
      or resources.
    
    License
    
      
    
    
      To the extent possible under law,
      @uralbash has waived
      all copyright and related or neighboring rights to this work.